<template>
  <!-- 主容器，设置文本居中、背景颜色、高度以及内外边距 -->
  <div style="text-align: center;background-color: #f1f1f3;height: 100%;padding: 0px;margin: 0px;">
    <!-- 显示欢迎信息，使用绑定表达式插入用户名 -->
    <h1 style="font-size: 40px;">{{ '欢迎你！' + user.name }}</h1>

    <!-- 使用Element UI的描述列表组件显示用户信息 -->
    <el-descriptions title="个人中心" :column="2" size="40" border>
      <!-- 描述列表项：账号 -->
      <el-descriptions-item>
        <!-- 分割，提供了更多的灵活性和控制，使用插槽自定义标签内容 -->
        <template slot="label">
          <!-- 图标 -->
          <i class="el-icon-s-custom"></i>
          账号
        </template>
        {{ user.no }}
      </el-descriptions-item>

      <!-- 描述列表项：电话 -->
      <el-descriptions-item>
        <template slot="label">
          <i class="el-icon-mobile-phone"></i>
          电话
        </template>
        {{ user.phone }}
      </el-descriptions-item>

      <!-- 描述列表项：性别 -->
      <el-descriptions-item>
        <template slot="label">
          <i class="el-icon-location-outline"></i>
          性别
        </template>
        <!-- 根据性别显示不同样式的标签 -->
        <el-tag
            :type="user.sex === '1' ? 'primary' : 'danger'"
            disable-transitions>
          <!-- 性别图标 -->
          <i
              :class="user.sex==1?'el-icon-male':'el-icon-female'"></i>
          {{ user.sex == 1 ? "男" : "女" }}
        </el-tag>
      </el-descriptions-item>

      <!-- 描述列表项：角色 -->
      <el-descriptions-item>
        <template slot="label">
          <i class="el-icon-tickets"></i>
          角色
        </template>
        <!-- 显示角色，根据角色ID显示不同文本 -->
        <el-tag
            type="success"
            disable-transitions>
          {{ user.roleId == 0 ? "超级管理员" : (user.roleId == 1 ? "管理员" : "用户") }}
        </el-tag>
      </el-descriptions-item>
    </el-descriptions>

    <!-- 引入日期工具组件 -->
    <DateUtils></DateUtils>
  </div>
</template>

<script>
// 导入日期工具组件
import DateUtils from "./DateUtils";

export default {
  name: "MyHome", // 组件名称
  components: {DateUtils}, // 注册组件
  data() {
    return {
      user: {} // 初始化用户信息对象
    }
  },
  computed: {}, // 计算属性
  methods: {
    // 初始化方法，用于从sessionStorage获取当前用户信息
    init() {
      this.user = JSON.parse(sessionStorage.getItem('CurUser'))
    }
  },
  created() {
    // 组件创建时调用初始化方法
    this.init()
  }
}
</script>

<style scoped>
/* scoped样式只应用于当前组件 */
.el-descriptions {
  width: 90%; /* 描述列表宽度 */
  margin: 0 auto; /* 水平居中 */
  text-align: center; /* 文本居中 */
}
</style>
